package com.central.user.service;

import com.central.common.model.SysDepartment;
import com.central.common.service.ISuperService;

import java.util.List;
import java.util.Map;

/**
 * @author Tindy
 * @date 2021/6/22
 * @describe
 */
public interface ISysDepartmentService extends ISuperService<SysDepartment> {

	/**
	 * 删除部门
	 * @param id
	 * @return
	 */
	void removeById(Long id) throws Exception;

	/**
	 * 查询所有一级部门
	 */
	List<SysDepartment> findOnes();

	/**
	 * 查询所有子部门
	 * @param id
	 * @return
	 */
	List<SysDepartment> findSubs(Long id);

	/**
	 * 查询父部门
	 * @param id
	 * @return
	 */
	SysDepartment findParent(Long id);

	/**
	 * 查询用户部门
	 * @param userId
	 * @return
	 */
	SysDepartment findByUserId(Long userId);

	/**
	 * 查询部门全名
	 * @param departmentId
	 * @return
	 */
	String fullName(Long departmentId);

    Map<String, SysDepartment> findDepartmentMap();
}
